call_rcu(&entry->rcu, free_msixtbl_entry);
}
-int msixtbl_pt_register(struct domain *d, int pirq, uint64_t gtable)
+void msixtbl_pt_register(struct domain *d, int pirq, uint64_t gtable)
{
irq_desc_t *irq_desc;
struct msi_desc *msi_desc;
struct pci_dev *pdev;
struct msixtbl_entry *entry;
- int r = -EINVAL;
/* pcidevs_lock already held */
irq_desc = domain_spin_lock_irq_desc(d, pirq, NULL);
out:
spin_unlock_irq(&irq_desc->lock);
- return r;
-
}
void msixtbl_pt_unregister(struct domain *d, int pirq)
spin_unlock(&d->arch.hvm_domain.msixtbl_list_lock);
spin_unlock(&irq_desc->lock);
}
+
void msixtbl_pt_cleanup(struct domain *d, int pirq)
{
struct msixtbl_entry *entry, *temp;
pirq_guest_eoi(irq_map->dom, machine_gsi);
}
-extern int msixtbl_pt_register(struct domain *d, int pirq, uint64_t gtable);
-extern int msixtbl_pt_unregister(struct domain *d, int pirq);
+#ifdef CONFIG_X86
+extern void msixtbl_pt_register(struct domain *d, int pirq, uint64_t gtable);
+extern void msixtbl_pt_unregister(struct domain *d, int pirq);
+#else
+#define msixtbl_pt_register(d, p, g) ((void)0)
+#define msixtbl_pt_unregister(d, p) ((void)0)
+#endif
int pt_irq_create_bind_vtd(
struct domain *d, xen_domctl_bind_pt_irq_t *pt_irq_bind)